package com.sxf.rental.service.impl;

import com.sxf.rental.service.IMailService;
import com.sxf.rental.vo.MailVo;
import jakarta.annotation.Resource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;

/**
 * 邮件服务实现类，负责发送邮件。
 * 该类实现了IMailService接口，使用JavaMailSender来发送邮件。
 */
@Service
public class MailServiceImpl implements IMailService {

    @Resource
    private JavaMailSender javaMailSender;

    /**
     * 发送邮件的方法。
     * 该方法接收一个MailVo对象，包含邮件的发件人、收件人、主题和内容等信息，
     * 并使用JavaMailSender发送邮件。
     *
     * @param mailVo 包含邮件信息的对象，包括发件人、收件人、主题和内容等。
     */
    @Override
    public void sendEmail(MailVo mailVo) {
        // 创建SimpleMailMessage对象，用于设置邮件的基本信息
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom(mailVo.getFrom());
        simpleMailMessage.setTo(mailVo.getTo());
        simpleMailMessage.setSubject(mailVo.getSubject());
        simpleMailMessage.setText(mailVo.getContent());
        simpleMailMessage.setCc(mailVo.getFrom());
        // 使用JavaMailSender发送邮件
        javaMailSender.send(simpleMailMessage);
    }
}

